package parser

import "bytes"

// 10进制数字
func isDecimal(ch int) bool {
	return '0' <= ch && ch <= '9'
}

// 标识符
func isIdent(ch int, pos int) bool {
	return ch == '_' || 'A' <= ch && ch <= 'Z' || 'a' <= ch && ch <= 'z' || isDecimal(ch) && pos > 0
}

// 变量
func isVar(ch int, pos int) bool {
	if ch == '$' {
		return true
	}
	return false
}

// 定界符
func isDelimiter(ch int) bool {
	if ch == '(' || ch == ')' {
		return true
	}
	return false
}

// 16进制数字
func isDigit(ch int) bool {
	return '0' <= ch && ch <= '9' || 'a' <= ch && ch <= 'f' || 'A' <= ch && ch <= 'F'
}

func writeChar(buf *bytes.Buffer, c int) {
	buf.WriteByte(byte(c))
}
